If you have an extremely slow NNTP connection, you may consider turning article caching on. Each article will then be stored locally under your home directory. As you may surmise, this could potentially use huge amounts of disk space, as well as eat up all your inodes so fast it will make your head swim. In vodka.
Used carefully, though, it could be just an easier way to save articles.
To turn caching on, set
gnus-use-cache to t. By default, all
articles ticked or marked as dormant will then be copied over to
your local cache (gnus-cache-directory). Whether
this cache is flat or hierarchical is controlled by the
gnus-use-long-file-name variable, as usual.
When re-selecting a ticked or dormant article, it will be fetched from the cache instead of from the server. As articles in your cache will never expire, this might serve as a method of saving articles while still keeping them where they belong. Just mark all articles you want to save as dormant, and don't worry.
When an article is marked as read, is it removed from the cache.
The
entering/removal of articles from the cache is controlled by the
gnus-cache-enter-articles and
gnus-cache-remove-articles variables. Both are lists
of symbols. The first is (ticked dormant) by
default, meaning that ticked and dormant articles will be put in
the cache. The latter is (read) by default, meaning
that articles marked as read are removed from the cache. Possibly
symbols in these two lists are ticked,
dormant, unread and
read.
So where does the massive
article-fetching and storing come into the picture? The
gnus-jog-cache command will go through all
subscribed newsgroups, request all unread articles, score them,
and store them in the cache. You should only ever, ever ever
ever, use this command if 1) your connection to the
NNTP server is really, really, really slow and
2) you have a really, really, really huge disk. Seriously. One
way to cut down on the number of articles downloaded is to score
unwanted articles down and have them marked as read. They will
not then be downloaded by this command.
It is likely that
you do not want caching on all groups. For instance, if your
nnml mail is located under your home directory, it
makes no sense to cache it somewhere else under your home
directory. Unless you feel that it's neat to use twice as much
space.
To limit the caching, you could set
gnus-cacheable-groups to a regexp of groups to
cache, ‘^nntp’
for instance, or set the gnus-uncacheable-groups
regexp to ‘^nnml’, for instance. Both variables
are nil by default. If a group matches both
variables, the group is not cached.
The cache
stores information on what articles it contains in its active
file (gnus-cache-active-file). If this file (or any
other parts of the cache) becomes all messed up for some reason
or other, Gnus offers two functions that will try to set things
right. M-x gnus-cache-generate-nov-databases will
(re)build all the NOV files, and
gnus-cache-generate-active will (re)generate the
active file.
gnus-cache-move-cache
will move your whole gnus-cache-directory to some
other location. You get asked to where, isn't that cool?